Hallo Sebas,
netter kleiner Robo, den du da gebaut hast.
Ich hab den Thread grad mal überflogen und da sind mir gleich ein paar Anregungen für dich gekommen:

Port Expander: Du kannst dir quasi beliebig große E/A Ports mit Schieberegistern aufbauen. Die lassen sich viel schneller updaten als I²C Portexpander (bis 100MHz clk statt 400kHz ) und du bist auch nicht auf irgendeinen Adressraum beschränkt. Für Eingaben eignez sich das 74XX165, für Ausgaben das 74XX164.

SD-Karte: Kannst du auch an einem ATM8 oder betreiben. 512Bytes RAM haste, ansonsten nimmste einen externen SRAM-Baustein. FAT finde ich übertrieben, es sei denn, du willst einen MP3 Player bauen.
Überleg dir, was dein File-System können soll, lies dich in Speicherverwaltung ein und implementier dein eigenes FS. Das ist einfacher, als man vielleicht am Anfang denkt. Mit jeder Funktion, die du nicht brauchst, kannst du die Komplexität spürbar verringern (musst du einzelne Dateien löschen können, oder reicht es, den ganzen Speicher auf einmal zu löschen? Müssen abgeschlossene Dateien erweitert werden können? Brauchst du Verzeichnisse?...)

Das 3v7 Problem:
Wenn du einen zweiten Akku in Reihe zum Ersten schaltest, hast du schon 7v4 zur Verfügung. Daraus kannst du dir dann alle deine benötigten Betriebsspannungen ableiten.

Ich bin gespannt, wie sich dein Robby entwickeln wird.

mfg

Edit: Noch zu den Schieberegistern: Die sind auch viel günstiger, als die I²C Expander ( ~0,35€ zu ~1,20€)